#ifndef IDATAGENERATIONCOMMAND_H
#define IDATAGENERATIONCOMMAND_H

#include <AnalyzerHelpers.h>
#include <SimulationChannelDescriptor.h>
#include <string>
#include <vector>

class HD44780AnalyzerSettings;
class SimulationChannelDescriptorGroup;
class IHD44780;

class IDataGenerationCommand
{
public:
    virtual ~IDataGenerationCommand(void)    {}
    virtual void Generate() = 0;
    static void Init(  HD44780AnalyzerSettings* Settings , std::vector< IHD44780* >* InstructionList)
    {
        if (NULL == Settings || NULL == InstructionList )
        {    }
        mSettings = Settings;
        mInstructionList = InstructionList;
    }

protected:
    IDataGenerationCommand()    {}

protected:
    static HD44780AnalyzerSettings*     mSettings;
    static std::vector< IHD44780* >*            mInstructionList;
};

#endif